package portal.entities;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import portal.vo.UsuarioVO;

@Entity
@Table(name="Usuarios")
public class Usuario extends AbstractEntity<UsuarioVO>{

	private String nombre;
	private String password;
	
	private double coordenadaX;
	private double coordenadaY;
	private String nombreYapellido;
	
	
	
	public Usuario(){}
	
	
	@Transient
	protected UsuarioVO getVOInstance() {
		return new UsuarioVO();
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Transient
	public UsuarioVO getVO() {
		UsuarioVO vo = getVOInstance();
		vo.setNombre(nombre);
		vo.setPassword(password);
		vo.setNombreYapellido(nombreYapellido);
		vo.setCoordenadaX(coordenadaX);
		vo.setCoordenadaY(coordenadaY);
		vo.setId(id);
		return vo;
	}

	@Transient
	public void setVO(UsuarioVO vo) {
		if (id == null) {
			this.setId(vo.getId());
		}
		this.setNombre(vo.getNombre());
		this.setPassword(vo.getPassword());
		this.setNombreYapellido(vo.getNombreYapellido());
		this.setCoordenadaX(vo.getCoordenadaX());
		this.setCoordenadaY(vo.getCoordenadaY());
	}


	public double getCoordenadaX() {
		return coordenadaX;
	}


	public void setCoordenadaX(double coordenadaX) {
		this.coordenadaX = coordenadaX;
	}


	public double getCoordenadaY() {
		return coordenadaY;
	}


	public void setCoordenadaY(double coordenadaY) {
		this.coordenadaY = coordenadaY;
	}


	public String getNombreYapellido() {
		return nombreYapellido;
	}


	public void setNombreYapellido(String nombreYapellido) {
		this.nombreYapellido = nombreYapellido;
	}
	
	
}
